package com.aman.tedbottompicker.view;

import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.StyleRes;
import android.support.v4.content.ContextCompat;
import android.view.WindowManager;

import com.aman.statusbar.StatusBarCompat;
import com.aman.transformer.sample.R;

/**
 * 项目名称  ：ParallaxViewPager
 * 类名称    ：
 * 类描述    ：
 * 创建人    ：Aman/862032054@qq.com
 * 创建时间  ：2016/9/19 10:32
 * 修改人    ：admin
 * 修改时间  ：2016/9/19 10:32
 * 修改备注  ：
 *
 * @version V1.0
 */
public class FitStatusBarBottomSheetDialog extends android.support.design.widget.BottomSheetDialog {
    /**
     * 设置是否全屏
     */
    boolean mFullScreen = false;
    /**
     * 状态栏颜色是否透明,透明的话就随 Dialog 的 R.layout.xxx
     */
    boolean mStatusTransluent = true;

    public FitStatusBarBottomSheetDialog(@NonNull Context context) {
        super(context);
        applyCompat();
    }

    public FitStatusBarBottomSheetDialog(@NonNull Context context, @StyleRes int theme) {
        super(context, theme);
        applyCompat();
    }

    protected FitStatusBarBottomSheetDialog(@NonNull Context context, boolean cancelable, OnCancelListener cancelListener) {
        super(context, cancelable, cancelListener);
        applyCompat();
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    private void applyCompat() {
        //StatusBarCompat.setStatusBarColor(getWindow(), ContextCompat.getColor(getContext(), R.color.colorPrimary), true);
        int statusBarColor = mStatusTransluent ? android.R.color.transparent : R.color.colorPrimary;
        StatusBarCompat.setStatusBarColor(getWindow(), ContextCompat.getColor(getContext(), statusBarColor), false);//true : 设置状态栏字体颜色黑色
        StatusBarCompat.setFitsSystemWindows(getWindow(), true);
    }

    @Override
    public void show() {
        if (mFullScreen) {
            //getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

//            WindowManager.LayoutParams lp = getWindow().getAttributes();
//            lp.dimAmount = .0f;
//            getWindow().setAttributes(lp);

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN
                    //| WindowManager.LayoutParams.FLAG_DIM_BEHIND//窗口之后的内容变暗。
                    //| WindowManager.LayoutParams.FLAG_BLUR_BEHIND//窗口之后的内容变模糊。
            );
        }
        super.show();
    }
}
